home *** CD-ROM | disk | FTP | other *** search
- Path: in2.uu.net!nectec!usenet
- From: sakchait@mozart.inet.co.th (PCO at BOET)
- Newsgroups: comp.lang.c++
- Subject: Re: Getting real world marketable experience in C++
- Date: Mon, 05 Feb 1996 02:10:09 GMT
- Organization: National Electronics and Computer Technology Center, Bangkok
- Message-ID: <4f3org$b1o@senior.nectec.or.th>
- References: <26404B9307B@cc.emu.edu>
- NNTP-Posting-Host: mozart.inet.co.th
- X-Newsreader: Forte Free Agent v0.46
-
- Micah K Yoder <YODERMK@cc.emu.edu> wrote:
-
- >Hi!
-
- >I'm a CS major at a small university and am wondering what it takes
- >to get marketable experience in C++. Our CS department has some
- >strong points (few students means more involvement on the campus
- >network development), but I'm a little worried because we haven't had
- >any real experience. I've heard of other college students having to
- >write Pascal compilers, but our homework is generally little snippets
- >to help us understand concepts. I'm a senior now and will be
- >graduating in three months, and our school has only intoduced C++
- >this semester! (We'd been using Pascal before then, but I started
- >teaching myself C++ a couple years ago.)
- etc.
-
- Micah,
-
- You've asked a good question and I think it deserves a good answer. I
- only wish that I had one.
- I've seen no replies to your USENET message so I'll post what answers
- I have. The following
- comments relate more to general experience and are not c++ specific.
- First a disclaimer: I have
- not lived or worked in North America since the late 80's so have no
- first-hand knowledge of the
- OO/c++ job market. I may be way off base, in which case you may learn
- something from the
- flames thus provoked.
-
- "There is no substitute for experience". I don't really think that
- even the world's best OO board
- game will cut much ice with an employer. Unless, that is, you're
- applying for a job writing board
- games. This brings us to the all too familiar catch-22 of the late
- 80's and 90's: not being able to
- get hired and gain experience because you don't have enough experience
- to get hired. What to
- do?
-
- My suggestion is to stop worrying about getting a job and start
- thinking about how to get some
- real world experience. What you can do is to find a small business or
- organization that could
- benefit from your skills, but which could not afford to hire a
- professional. Local volunteer or
- charitable organizations would be a good place to start looking.
- Approach them with an offer to
- do projects for them just for the experience. Start with something
- small, learn from it, then
- tackle something a little larger. Be upfront with them about your
- lack of experience so that they
- know what the situation is and won't expect more than you might be
- able to deliver. Have
- consideration for them: don't agree to do a project if you are not
- sure that you will be successful
- and that project is so crucial to their work that it will hurt them if
- you fail. Honesty and integrity
- will pay off in the long run.
-
- This will take longer than three months of part-time work, but it is
- better to be unemployed and
- learning than just unemployed. Keep in mind that your compensation
- for this is experience and
- all that you will learn. If you manage to do a good job, word will get
- around and you might find
- that you get a paid jop directly! Here are just a few thoughts on how
- you can maximize your
- benefits from this situation:
-
- 1) Don't think just of the coding. Your objective in this should not
- be just to learn or prove that
- you know C++. Employers have more concerns than just that (or the
- good ones do anyway).
- This project ought to involve analysis, design (reading a few books on
- OOD first would be a
- good idea), coding, debugging, testing, producing technical and
- end-user documentation, and
- end-user training. This covers a wide range of very different skills,
- all of which you will likely
- need in your professional life. Push yourself and try to learn as
- much as possible about all of
- them. Aim to produce a professional result from beginning to end.
-
- 2) Do the project with a team of fellow students, say 4 - 5 (and
- ideally a mentor, but don't hold
- your breath looking for one). Programming is rarely a solo activity
- and the human interaction
- aspect of it is important. Doing it as part of a team will force you
- to consider many issues, such
- as: division of work, communication (can't stress this enough), design
- documentation, code
- documentation, maintaining a common coding style (for ease of
- maintainence), source control
- and code reviews. You could look at a Microsoft press book called
- "Code Complete", it is an
- excellent overview of the software development process. Think of the
- skills needed in the point
- above when you approach people to join your group. If you can, try to
- include in the group at
- least one person that you do not like: you won't always work with your
- buddies. The group
- dynamics can be fascinating and will affect the project more than you
- might expect.
-
- 3) Be prepared to not use c++. Non-OO experience is better that none
- at all. (I hope that last
- statement does not start a religious war). A lot of stuff out there
- is done without c++ and you
- should not expect to rework someone's workplace just to suit your own
- interests. Using non-OO
- methods on this sort of project will give you a real appreciation of
- what the benefits of OO are!
-
- 4) Write a critical report of how your group does in implementing the
- project and what you learn.
- You can not learn from your mistakes if you don't know what they are.
- Writing a report will force
- you to fous on what you are learning rather than what you are doing.
- Well done, it might also
- serve as a resource for your CS department (object reuse!). The mere
- fact that you bothered to
- do this might well impress a prospective employer, though I doubt
- they'd be interested in the
- report itself.
-
- Some other points to consider. It would be an advantage to yourself
- to learn another OO
- language such as Smalltalk or Eiffel, even if you do not plan to use
- them. You can never know
- too much and it might spark off some ideas in your head or give you a
- new approach to OOD.
-
- Chuck Hill
-
- <No cute tag line.>
- <Please send mail and flames to me at oiccn@chulkn.car.chula.ac.th -
- thanks>
-
-
-